package com.example.friend.service;


import com.example.core.domain.LoginUser;
import com.example.friend.domain.dto.UserDTO;
import com.example.friend.domain.dto.UserUpdateDTO;
import com.example.friend.domain.vo.UserVO;

public interface IUserService {


    LoginUser login(UserDTO loginDTO);

    LoginUser codeLogin(UserDTO loginDTO);

    int register(UserDTO registerDTO);


    boolean sendCode(String phone);


    /**
     * 查看用户基本信息
     *
     * @return
     */
    UserVO getSimpleUserInfo(Long userId);

    /**
     * 查看用户信息
     *
     * @param userId 非必传，如果未传递则查看当前登录用户信息. 传值后：查看指定用户信息
     * @return 指定用户信息
     */
    UserVO detail(Long userId);

    boolean edit(UserUpdateDTO userUpdateDTO);

    boolean checkUserInfoUnique(UserDTO registerDTO);

    int updatePasswd(String userAccount);

    int uploadHeadImage(String headImage);
}
